package com.nd.mobile.study.common.util;

import com.nd.mobile.study.common.exception.LocalErrorException;
import com.nd.mobile.study.common.exception.LogicException;

public class ExceptionHandler {
	
	static String TAG = "ExceptionHandler";

	/**
	 * 作用:将异常转换为信息显示 调用示例:
	 * 
	 * <pre>
	 * </pre>
	 * 
	 * 参数:
	 * 
	 * @param e
	 * @return
	 */
	public static String parseExceptionInfo(Exception e) {
		if(null != e) L.e(TAG, e.getMessage());
		// 先处理自定义异常
		if (e instanceof LogicException) {
			return e.getMessage();
		}
		if (e instanceof LocalErrorException) {
			return e.getMessage();
		}
		// 处理通用异常
		if (e.getClass().getName().indexOf("ClientProtocolException")  >=0) {
			return "服务器连接错误,请稍后重试";
		}
		if (e.getClass().getName().indexOf("IOException")  >=0) {
			return "服务器连接错误,请稍后重试";
		}
		if (e.getClass().getName().indexOf("JSONException")  >=0) {
			return "获取数据错误,请稍后重试";
		}
		return "未知错误";
	}
}
